proc build_dict {file_token} {
    global dict

    while {[eof $file_token] == 0} {
        set word [string tolower [gets $file_token]]
        set dict($word) 1
    }
}

set dict_file [open [lindex $argv 0] r]
# Arrays are created upon first index assignment, so just let build_dict create
# a global array named 'dict'.
build_dict $dict_file
close $dict_file


set words [split [lindex $argv 1]]

foreach word $words {
    if {[llength [array names dict [string tolower $word]]] == 0} {
        puts $word
    }
}
